1. Field of the Invention
The present invention relates to a printing system, a service processing method, and a storage medium.
2. Description of the Related Art
The present invention relates to a printing system, a service processing method, and a storage medium that stores a program for providing a print service.
In recent years, cloud computing (hereinafter referred to as “cloud”) has been widespread mainly in the information technology (IT) industry. A trend shift has been accelerated from the conventional models where computer hardware and software are purchased and used to the models where services offered via the Internet are purchased and used. It is said that there are mainly three types of cloud models.
The first type cloud model is Software as a Service (SaaS), which is such a model that a service provider provides software via the Internet, and a service user uses desired software by mainly using a browser. The SaaS model is substantially similar to the model that was called Application Service Provider (ASP) previously.
All the service provider has to do is to build a web site for providing the software on the Internet, and the service provider does not have to distribute the software. A benefit on the service user side is that the user does not have to install dedicated software into the user's own computer, and generally, the user can use the desired software only by using a browser and a plug-in application therefor.
This feature of the SaaS model allows the user to use the service from not only a so-called personal computer but also a mobile terminal such as a mobile phone, a small laptop computer, and a tablet. Further, the user can also use the SaaS model from an imaging device such as a printer, a scanner, and a multifunction peripheral.
Many of these mobile terminals and imaging devices are not equipped with a display unit large enough to display a browser in a sufficiently user-friendly manner. Therefore, in some cases, the service provider distributes an application for accessing a special SaaS to offer a user interface (UI) that can be easily used even on a small screen.
Another object of such an application is to allow collaboration of a specific function of a mobile phone, a printer, or a multifunction peripheral, and a function provided by a SaaS system, which cannot be realized only by a browser. For example, if a user accesses a SaaS system from a mobile phone, the user can utilize collaboration of the service of the SaaS system with, for example, the telephone-call function, the camera function, and the global positioning system (GPS) function equipped with the mobile phone.
If a user accesses a SaaS system from a multifunction peripheral, the user can utilize collaboration of the service of the SaaS system with, for example, the scanning function and the printing function. Further, in some cases, even a device that does not use a UI or does not include a UI can exercise a function provided by a SaaS system by transmitting and receiving data to and from the SaaS system on the Internet. For example, one of these cases is that a printer connected to the Internet downloads print data from a SaaS system to print it.
The second type cloud model is Platform as a Service (PaaS), which is an application execution platform via the Internet. One example thereof is Windows (registered trademark) Azure Platform of Microsoft Corporation. Microsoft Corporation offers, for example, Windows (registered trademark) Azure, which is an application execution environment, and SQL Azure, which is a database execution environment.
The third type cloud model is Infrastructure as a Service (IaaS), which is a service for lending a virtual machine and a storage via the Internet. For example, Amazon.com Incorporated offers Amazon Elastic Compute Cloud (EC2), which is a service for lending a virtual machine, and Amazon Simple Storage Service (S3), which is a service for lending a storage.
When a service provider wants to start a new business using the Internet, the user can reduce an initial equipment investment by utilizing the PaaS and IaaS services, since these services eliminate the necessity of preparation of a computer environment by himself/herself. Mostly, the PaaS and IaaS services employ the model of charging according to how much the computer resource is used, so that the service provider can increase the computer resources on the PaaS and IaaS systems according to the business scale.
With the advancement of these cloud models, there has been studied and realized a model of connecting a printer or a multifunction peripheral to the Internet to allow them to use various kinds of services established in a cloud system.
From a point of view of a print service in the cloud system, one use case is to allow a user to print a file managed in a cloud system from a local printer. Conventionally, many providers have provided document management services as SaaS services.
On the other hand, conventionally, software called a printer driver has been in charge of conversion of data into print data and transmission of data to a printer for print control of the printer. The printer driver should be installed in advance into a computer that uses the printer.
However, providing the printer driver function as a cloud service can establish even an architecture allowing a printer connected to the Internet to directly receive print data to thereby print the data without an intervention of a driver. This is referred to as a virtual printer driver while the former is referred to as a local printer driver.
On the other hand, pre-processing that the printer driver performs before transmitting print data to the printer includes a print preparation process. Through this print preparation process, the printer driver generates intermediate data for printing from a file to be printed, and, for example, processes or edits this intermediate data, thereby being able to add an additive value to a final product output from the printer.
As one of this print preparation process, there has been proposed a method of reducing the number of pages of print data by “margin removal”.
Japanese Patent Application Laid-Open No. 2005-149218 and Japanese Patent Application Laid-Open No. 2010-092305 discuss a method of dividing each page into a print target area and a margin area, removing the margin area, shifting the print target area to the front side of the page, thereby cutting out one or more last pages to reduce the number of pages.
Conventionally, execution of the print preparation process has required installation of a special application into a computer and use of it, as is the case with the above-described local printer driver. Generally, this kind of application is used in a stand-alone configuration, instead of a so-called client-server configuration or a web application configuration.
One of the reasons therefor is because intermediate data for printing and print data to be transmitted to a printer have a relatively large size. Due to the necessity of relatively many computer resources such as a central processing unit (CPU), a random access memory (RAM), and a hard disk drive (HDD) for processing them, it is considered that the stand-alone configuration is advantageous since the stand-alone configuration allows the dedicated application to occupy the computer resources.
Further, since print data should be finally transmitted to a printer via a printer driver, it is considered that it is advantageous to dispose this dedicated application in a computer located in the same network as the printer or a network near the printer. This is because data of a large size is transmitted via a network, and therefore a near network can be less affected by a delay and congestion in the network, thereby realizing further quicker transmission.
However, as the background of the above-described advancement of the cloud models, the speed of network lines such as the Internet and an intranet has been improved, which is accompanied by establishment of an environment allowing even data of a large amount to be transmitted and received at a sufficiently high speed.
As described above, for example, a document management and a virtual printer driver have been already able to be offered as SaaS services. Therefore, configuring even the print preparation process as a service in a cloud system allows a whole series of print work flow to be executed in the cloud system.
However, the following problems arise in establishment of a cloud system including such a value additive service that the paper resource can be saved by applying the technique of reducing the number of pages of print data by performing “margin removal”, as discussed in the above-described patent documents, Japanese Patent Application Laid-Open No. 2005-149218 and Japanese Patent Application Laid-Open No. 2010-092305.
According to “margin removal” by layout adjustment, how many pages can be reduced varies and differs depending on the content of a document file due to the nature of the processing. In other words, the processing result and how many pages can be reduced are not determined until layout adjustment is actually performed.
The result is uncertain until layout adjustment is driven by a user in this way, so that it is impossible to notify the user of how many pages can be saved or to provide a preview in advance. Therefore, the first problem is that it is difficult to make an appeal about the resource saving effect by this print preparation process.
Further, in a case where the application for the print preparation process is offered in a stand-alone configuration like the conventional technique, a single user can occupy computer resources of a single computer for the corresponding application, arbitrarily select a file to be processed, and perform layout adjustment in a user driven manner. However, under a cloud-type or a web-type application execution environment, the computer resources are shared by all users.
Accepting a request for the print preparation process in a user driven manner results in an increase in the user's waiting time and the processing execution time, for example, during a busy period or processing of a file having a large data size. For a service provider, it is desired to become able to offer a requested service by using only minimum computer resources to reduce the operational cost.
On the other hand, the increase in the waiting time and the processing execution time deteriorates user's operability and convenience, which leads to the second problem. In other words, the second problem arises in the necessity of achieving two objects, i.e., avoiding keeping a user waiting as much as possible by using limited shared computer resources in this way.
With the aim of solving the first and second problems, one possible measure is to prepare a processing result in advance by performing layout adjustment on a server in a cloud system asynchronously so as to be able to quickly provide the processing result when a user requests it.
In this case, it is required to maintain a processing result file in addition to an original file, thereby leading to an increase in the required capacity of the storage resource in the cloud system, and an increase in the operation cost for the service provider side. This is the third problem. In this way, several problems should be solved simultaneously to provide the print processing service under a cloud environment.